[アップデート] AWS Elemental MediaConvertで高速トランスコーディングが利用可能になりました [最大25倍スピードアップ!]
はじめに
清水です。AWS Media Servicesの細かなアップデートを追っていくコーナーです。本エントリで紹介するのはこちら、ファイルベースの動画変換サービスであるAWS Elemental MediaConvertで高速トランスコーディングが利用可能になりました。トランスコーディング(変換)速度が最大で25倍速くなるとのことです!(2019/04/08にアップデートされた内容になります。)
- Speed Up Video Processing With New Accelerated Transcoding in AWS Elemental MediaConvert
- AWS Elemental MediaConvert の新しい高速トランスコーディングで画像処理がより迅速に
4K(UHD)やハイダイナミックレンジ(HDR)のコンテンツなどでは計算量が膨大になり、変換処理(トランスコーディング)にかかる時間も長くなってしまいます。今回追加された高速トランスコーディング機能を使うことで、自動的に変換ジョブの特性を分析し最適化、効率的にジョブを実行します。画像処理の品質はそのままに、最大で処理速度を25倍向上させることができるそうです。また料金についてもプロフェッショナル層の機能となりますが、通常のプロフェッショナル価格体系がそのまま適用され、追加料金などなしに利用できます。
なお、高速トランスコーディング(Accelerated Transcoding)機能を使用して効果が得られやすいコンテンツ、また高速トランスコーディングを使用した場合の制限事項(例えば一部サポートされない機能があるなど)については下記ユーザガイドに詳細がまとめられています。(2019/04/29 現在、英語版のみとなっていました。)
例えば恩恵を受けやすいコンテンツとしては以下3点が挙げられています。いずれも計算量が大きく変換に時間がかかりそうな条件ですね。
- Ultra High Definition(UHD)コンテンツ (=4kコンテンツ)
- HEVC(H.265)で高ダイナミックレンジ(HDR)を利用したコンテンツ
- 時間が長く、また視覚的に複雑なコンテンツ
また高速トランスコーディング機能を使用した場合にサポートできない機能の一つとして、Embedded timecode sourceがあり、上記ユーザーガイドのページにもジョブ作成時にTimecode source
の設定でStart at 0
を選択するよう、記載されています。
AWS Elemental MediaConvertで高速トランスコーディングをやってみる
では実際にMediaConvertで高速トランスコーディングを用いたジョブを作成してみます。入力ファイルは以下のページでダウンロードできるBig Buck BunnyのStandard 2D、4K, Quad-Full-HD (3840x2160)、60fpsのものを使用しました。
MediaInfoで得られる情報は下記の通りです。
今回はこのBig Buck Bunnyの4K動画を4KのままHEVC(H.265)形式に変換してみます。変換用のOutput presetsはSystem-Hevc_2160p_29_97fps_10mbps
をもとに、Custom-Hevc_2160p_29_97fps_VBR_5mbps
を作成しました。もとのSystem PresetからRate control mode
をVBR
に、ビットレートを5Mbpsに変更しています。
こちらがベースにしたSystem-Hevc_2160p_29_97fps_10mbps
です。
こちらはRate control modeとビットレートを変更したCustom-Hevc_2160p_29_97fps_VBR_5mbps
です。
また、Accelerated Transcoding用のQueueも新たに作成しておきます。
ジョブの作成では、まず、InputのVideo selector、Timecode source
の設定でStart at 0
を選択します。
続いてOutputでは先ほど作成したCustom Preset Custom-Hevc_2160p_29_97fps_VBR_5mbps
を選択します。
Job settingsの項目では、Queue
に先ほど作成したAcceleratedTranscodingQueue
、またAcceleration
の項目をEnable
に設定します。さらに、Timecode configurationのSource
の項目ではStart at 0
を設定します。
以上を設定して、ジョブを作成します。ジョブの実行結果がこちらです!変換にかかった時間を表すDuration in transcoding
は00:14:56
でした。
高速トランスコーディングを使用しない場合との比較
比較として、高速トランスコーディングを使用しない場合も試してみます。入力ファイルやOutput preestは同一とし、Queueはデフォルトのもの(ただし他のジョブは実行されていない)、Acceleration
の項目をDisalbe
としてます。
ジョブの実行結果として、Duration in transcoding
は01:50:31
=6631秒
でした。高速トランスコーディングを利用した場合は00:14:56
=896秒
でしたので、高速トランスコーディングを利用することで7.5倍ほど高速になったといえますね!
まとめ
AWS Elemental MediaConvertの新機能、高速トランスコーディングをやってみました。高速トランスコーディングを使用しない場合と比べると(1回のみの比較ですが)約7.5倍ほどの速度の差がみられました。最大値と言われる25倍速とまではいきませんでしたが、そもそも変換処理に時間がかかるUHD、HEVC(H.265)の変換ではこの速度向上は嬉しいですね!そしてこれが追加料金なしで利用できることもポイントです。変換機能面での一部制限事項などもありますが、計算量が大きく時間がかかりそうな変換処理を行う際には高速トランスコーディングオプションを検討してみてはいかがでしょうか。引き続きAWS Elemental MediaConvert含めたAWS Media Servicesの機能アップデートに注目していきたいと思います。